package rescsa.gob.pe.constants;

import java.sql.ResultSet;

import org.springframework.jdbc.core.RowMapper;

import rescsa.gob.pe.personal.bean.DepartamentoBEAN;
import rescsa.gob.pe.personal.bean.DistritoBEAN;
import rescsa.gob.pe.personal.bean.PersonaBEAN;
import rescsa.gob.pe.personal.bean.ProvinciaBEAN;
import rescsa.gob.pe.requerimiento.bean.RequerimientoBEAN;
import rescsa.gob.pe.seguridad.bean.PaginaBEAN;
import rescsa.gob.pe.seguridad.bean.RolBEAN;
import rescsa.gob.pe.seguridad.bean.UsuarioBEAN;
import rescsa.gob.pe.tiporequerimiento.bean.TipoRequerimientoBEAN;

public class RowMapperConstants {

	
//	USUARIO
	@SuppressWarnings("rawtypes")
	public static final class UsuarioMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		UsuarioBEAN user= new UsuarioBEAN();
    		try {

    			user.setC_usuario(rs.getInt("c_usuario"));
    			user.setN_usuario(rs.getString("n_usuario"));
    			user.setN_contrasenia(rs.getString("n_contrasenia"));
    			user.setC_persona(rs.getInt("c_persona"));
				user.setN_ape_pat(rs.getString("n_ape_pat"));
				user.setN_ape_mat(rs.getString("n_ape_mat"));
				user.setN_nombre(rs.getString("n_nombre"));
				
				
			
				user.setN_correo_electro(rs.getString("n_correo_electro"));
				
			
			
    			
    			
			} catch (Exception ex) {
				ex.printStackTrace();
			}
			return user;
    	}
    	
    }
	
//	ROL
	@SuppressWarnings("rawtypes")
	public static final class RolMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		RolBEAN rol= new RolBEAN();
    		try {
    			rol.setC_rol(rs.getInt("c_rol"));
    			rol.setN_nombre(rs.getString("n_nombre"));
//    			rol.setF_activo(rs.getInt("f_activo"));
			} catch (Exception ex) {
				ex.printStackTrace();
			}
			return rol;
    	}
    	
    }
	
//	PAGINA
	@SuppressWarnings("rawtypes")
	public static final class PaginaMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		PaginaBEAN pag = new PaginaBEAN();
    		try {
    			pag.setC_pagina(rs.getInt("c_pagina"));
    			pag.setN_nombre(rs.getString("n_nombre"));
    			
    			pag.setQ_nivel(rs.getInt("q_nivel"));
    			pag.setQ_orden(rs.getInt("q_orden"));
    			pag.setC_pagina_padre(rs.getInt("c_pagina_padre"));
    			pag.setF_activo(rs.getInt("f_activo"));
    			
    			
    			pag.setN_ruta(rs.getString("n_ruta"));
    			
			} catch (Exception ex) {
				ex.printStackTrace();
			}
			return pag;
    	}
    	
    }
	
	
/**CURSOS*******************************************************************************************************************/

	
	
	
/**EMPIEZA HENRY**********************************************************************************************************************/
	
	/**empieza generales**/
	
	
	/**EMPIEZA PERSONA*******************************************************************************************************************/
	/***************************************************************************************************************************************/
	@SuppressWarnings("rawtypes")
	public static final class PersonaMapper implements RowMapper{
    	public Object mapRow(ResultSet rs, int rowNum){
    		PersonaBEAN pers = new PersonaBEAN();
    		try {
    			pers.setC_persona(rs.getInt("c_persona"));
    			pers.setN_ape_pat(rs.getString("n_ape_pat"));
    			pers.setN_ape_mat(rs.getString("n_ape_mat"));
    			pers.setN_nombre(rs.getString("n_nombre"));
    			
    			pers.setC_estado_civil(rs.getInt("c_estado_civil"));
    			pers.getC_distrito().setC_distrito(rs.getInt("c_distrito"));
    			pers.setC_persona(rs.getInt("t_direccion"));
    			pers.setC_persona(rs.getInt("c_sexo"));
    			pers.setC_persona(rs.getInt("a_tele_fijo"));
    			
    			pers.setC_persona(rs.getInt("a_tele_celular"));
    			pers.setC_persona(rs.getInt("n_correo_electro"));
    			pers.setC_persona(rs.getInt("d_nacimiento"));
    			pers.setC_persona(rs.getInt("n_foto"));
    			
    			
    			pers.setF_activo(rs.getInt("f_activo"));
    			
    			
    			
    			pers.getTipoDocumentoBEAN().setCodigo_tipo_documento(rs.getInt("c_tipo_doc_iden"));
    			pers.getTipoDocumentoBEAN().setNombre_tipo_documento(rs.getString("a_num_doc_iden"));
    			
			} catch (Exception ex) {
				ex.printStackTrace();
			}
			return pers;
    	}
    	
    }
	

	
	
	
	
	/**TERMINA PERSONA*******************************************************************************************************************/
	/***************************************************************************************************************************************/
	
	
	//DISTRITO
		@SuppressWarnings("rawtypes")
		public static final class DistritoMapper implements RowMapper{
	    	public Object mapRow(ResultSet rs, int rowNum){
	    		DistritoBEAN dis = new DistritoBEAN();
	    		try {
	    			dis.setC_distrito(rs.getInt("c_distrito"));
	    			dis.setN_nombre(rs.getString("n_nombre"));
	    			dis.getProvinciaBEAN().setC_provincia(rs.getInt("c_provincia"));
				} catch (Exception ex) {
					ex.printStackTrace();
				}
				return dis;
	    	}
	    	
	    }
		
	//PROVINCIA
		@SuppressWarnings("rawtypes")
		public static final class ProvinciaMapper implements RowMapper{
	    	public Object mapRow(ResultSet rs, int rowNum){
	    		ProvinciaBEAN pro = new ProvinciaBEAN();
	    		try {
	    			pro.setC_provincia(rs.getInt("c_provincia"));
	    			pro.setN_nombre(rs.getString("n_nombre"));
	    			pro.getDepartamentoBEAN().setC_departamento(rs.getInt("c_departamento"));
				} catch (Exception ex) {
					ex.printStackTrace();
				}
				return pro;
	    	}
	    	
	    }

	//DEPARTAMENTO
		@SuppressWarnings("rawtypes")
		public static final class DepartamentoMApper implements RowMapper{
	    	public Object mapRow(ResultSet rs, int rowNum){
	    		DepartamentoBEAN dep = new DepartamentoBEAN();
	    		try {
	    			dep.setC_departamento(rs.getInt("c_departamento"));
	    			dep.setN_nombre(rs.getString("n_nombre"));
				} catch (Exception ex) {
					ex.printStackTrace();
				}
				return dep;
	    	}
	    	
	    }
	
		/*
		 * Modificaciones de Henry
		 */
		@SuppressWarnings("rawtypes")
		public static final class TB_RequerimientoMapper implements RowMapper{
	    	public Object mapRow(ResultSet rs, int rowNum){
	    		RequerimientoBEAN req = new RequerimientoBEAN();
	    		try {
	    			req.setCodigo_solicitud_requerimiento(rs.getInt("codigo_solicitud_requerimiento"));
	    			req.setCodigo_requerimiento(rs.getInt("codigo_requerimiento"));
	    			req.setFecha_registro(rs.getDate("fecha_registro"));
	    			req.setEstado(rs.getString("estado"));
	    			req.getTipoRequerimientoBEAN().setCodigo_tipo_requerimiento(rs.getInt("codigo_tipo_requerimiento"));
	    			
	    			req.setDescripcion_bajo_nivel(rs.getString("descripcion_bajo_nivel"));
				} catch (Exception ex) {
					ex.printStackTrace();
				}
				return req;
	    	}
	    	
	    }
		@SuppressWarnings("rawtypes")
		public static final class TB_Tipo_RequerimientoMapper implements RowMapper{
	    	public Object mapRow(ResultSet rs, int rowNum){
	    		TipoRequerimientoBEAN treq = new TipoRequerimientoBEAN();
	    		try {
	    			treq.setCodigo_tipo_requerimiento(rs.getInt("codigo_tipo_requerimiento"));
	    			treq.setDescripcion(rs.getString("nombre"));
	    		
				} catch (Exception ex) {
					ex.printStackTrace();
				}
				return treq;
	    	}
	    	
	    }
		/*
		 * Termina modificaciones de Henry
		 */

		/*
		 * Modificaciones de Johann
		 */

		/*
		 * Termina Modificaciones de Johann
		 */

		/*
		 * Modificaciones de Omar
		 */

		/*
		 * Termina Modificaciones de Omar
		 */

		/*
		 * Modificaciones de Juan
		 */

		/*
		 * Termina Modificaciones de Juan
		 */

		/*
		 * Modificaciones de Diego
		 */

		/*
		 * Termina Modificaciones de Diego
		 */

    	
    }
	
	
	
	
	
	
	
	
	
	
	

	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

